package com.ztgf.logistics.models.service;

import com.baomidou.mybatisplus.service.IService;
import com.ztgf.common.constant.Result;
import com.ztgf.logistics.models.bo.LogisticsBO;
import com.ztgf.logistics.models.dto.LogisticsDTO;

import java.util.List;

/**
 * author: chenyu.wang
 * date: 2020-05-23 11:35
 * Description:
 */
public interface ILogisticsService extends IService<LogisticsDTO> {


    /**
     * description: 快递100物流信息实时查询接口
     * param: [logisticsBO]
     * author: chenyu.wang
     * date: 2020-05-23
     * return: java.lang.String
     */
    String querySyn(LogisticsBO logisticsBO);

    /**
     * description: 根据订单id查询物流信息
     * param: [id]
     * author: chenyu.wang
     * date: 2020-06-29
     * return: java.lang.String
     */
    List<Object> queryLogistics(Long id);

    /**
     * description: 售后订单物流查询
     * param: [id]
     * author: chenyu.wang
     * date: 2020-06-30
     * return: java.lang.String
     */
    List<Object> queryAfterLogistics(Long id);

    List<Object> queryRecentLogistics(Long orderId);

    List<Object> queryAfterRecentLogistics(Long afterOrderId);

    /**
     * @Description: 查询先款订单物流信息
     * @Author: chenyu.wang
     * @Param: [orderId]
     * @Date: 2020.10.23 09:32
     */
    List<String> queryAdvanceOrderLogistics(Long orderId);

    /**
     * @return : com.ztgf.logistics.models.vo.HttpResult
     * @Author :chenyu.wang
     * @Description : 查询订单发票物流信息
     * @Date : 2021.03.29 10:39
     * @Param : [orderInvoiceId]
     **/
    Result<?> queryOrderInvoiceLogisticsInformation(Long orderInvoiceId);

    Result<?> querySysInvoiceLogisticsInformation(Long sysInvoiceId);

    Result<?> queryDepponList(String mailNo);

    List<Object> queryLogisticsByWx(String mailNo);

    Result<?> addressProcessing(String address);
}
